import urllib.request
import urllib.parse

# https://www.baidu.com/s?ie=UTF-8&wd=%E5%91%A8%E6%9D%B0%E4%BC%A6

url = 'https://www.baidu.com/s?wd='

# 请求对象的定制为了解决反爬的第一种手段
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'
}

# 法一：适用于单个参数转换
# 将周杰伦三个字变成Unicode编码的格式
# 我们需要依赖于urllib.parse
name = urllib.parse.quote('周杰伦')
url = url+name
print(url)

# 法二： urlencode应用场景：多个参数的时候
base_url = 'https://www.baidu.com/s?'

data = {
    'wd':'周杰伦',
    'sex':'男',
    'location':'中国台湾省'
}
a = urllib.parse.urlencode(data)
print(a)
# 请求资源路径
url2 = base_url+a



# 请求对象的定制
request = urllib.request.Request(url=url,headers=headers)


# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)

# 获取响应的内容
content = response.read().decode('utf-8')

# print(content)